package com.regulareport.form.service;

import com.regulareport.form.domain.ReportVerificationResult;
import com.regulareport.form.domain.excel.ReportVerificationResultExcel;

import java.util.List;
import java.util.Map;

/**
 * 校验结果Service接口
 * 
 * @author
 * @date 2025-10-08
 */
public interface IReportVerificationResultService 
{
    /**
     * 查询校验结果
     * 
     * @param reportFormId 校验结果主键
     * @param verifyConfigId 校验结果主键
     * @return 校验结果
     */
    public ReportVerificationResult selectReportVerificationResultByPkId(Long reportFormId, Long verifyConfigId);

    /**
     * 查询校验结果列表
     * 
     * @param reportVerificationResult 校验结果
     * @return 校验结果集合
     */
    public List<ReportVerificationResult> selectReportVerificationResultList(ReportVerificationResult reportVerificationResult);

    /**
     * 新增校验结果
     * 
     * @param taskIds 校验结果
     * @return 结果
     */
    public Map processReportVerificationResult(String taskIds);

    /**
     * 修改校验结果
     * 
     * @param reportVerificationResult 校验结果
     * @return 结果
     */
    public int updateReportVerificationResult(ReportVerificationResult reportVerificationResult);

    /**
     * 批量删除校验结果
     * 
     * @param pkIds 需要删除的校验结果主键集合
     * @return 结果
     */
    public int deleteReportVerificationResultByPkIds(Long[] pkIds);

    /**
     * 删除校验结果信息
     * 
     * @param pkId 校验结果主键
     * @return 结果
     */
    public int deleteReportVerificationResultByPkId(Long pkId);

    /**
     * 校验结果批量导出
     * @param taskIds
     * @return
     */
    public Map<String, List<ReportVerificationResultExcel>> selectReportVerificationResultMap(String taskIds) throws Exception;
}
